Radix sort is a sorting algorithm that sorts data with integer keys. The keys are grouped by the individual digits which share the same significant position and value. By way of example, because computers typically represent their data as electronic representations of binary numbers, processing by groups of binary digit representations can be performed. Two classifications of radix sorts can include least significant bit (LSB) and most significant bit (MSB) radix sorts.
In-place radix sort is a distribution-based sorting algorithm typically used for short numeric or string keys. In-place radix sort has an O(N) (linear) computational requirement and an O(1) (constant) memory requirement. In a computing environment, efficient parallelization of in-place radix sort can be difficult due to read-write dependency and load balancing of a recursively applied algorithm to resulting buckets of different sizes.